#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;

//int main()
//{
//	string s1;
//	string s2("hello world");
//	string s3(10, 'a');
//	string s4(s2);
//
//
//
//	string s5(s2, 5, -1);
//	s1 = s2;
//
//	cout << s1 << endl;
//	cout << s2 << endl;
//	cout << s3 << endl;
//	cout << s4 << endl;
//	cout << s5 << endl;
//
//	return 0;
//}

//class Solution {
//public:
//
//    bool isLetter(char ch)
//    {
//        if (ch >= 'a' && ch <= 'z')
//            return true;
//        if (ch >= 'A' && ch <= 'Z')
//            return true;
//
//        return false;
//    }
//
//    string reverseOnlyLetters(string s) {
//        if (s.empty())
//            return s;
//
//        size_t begin = 0, end = s.size() - 1;
//        while (begin < end)
//        {
//            while (begin < end && !isLetter(s[begin]))
//                ++begin;
//
//            while (begin < end && !isLetter(s[end]))
//                --end;
//
//            swap(s[begin], s[end]);
//            ++begin;
//            ++end;
//        }
//        return s;
//    }
//
//};

class Solution {
public:
    string addStrings(string num1, string num2) {
        int end1 = num1.size() - 1;
        int end2 = num2.size() - 1;
        int value1 = 0, value2 = 0, next = 0;
        string addret;
        while (end1 >= 0 || end2 >= 0)
        {
            if (end1 >= 0)
                value1 = num1[end1--] - '0';
            else
                value1 = 0;

            if (end2 >= 0)
                value2 = num1[end2--] - '0';
            else
                value2;

            int valueret = value1 + value2 + next;
            if (valueret > 9)
            {
                next = 1;
                valueret -= 10;
            }
            else
            {
                next = 0;
            }

            addret += (valueret + '0');
        }

        if (next == 1)
        {
            addret += '1';
        }

        reverse(addret.begin(), addret.end());
        return addret;
    }
};


int main()
{
    Solution a;
    string b = a.addStrings("12", "13");
    cout << b << endl;
    return 0;
}